home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga CD-Sensation: Golden Games
/
Amiga CD-Sensation - Ausgabe 2 - Golden Games (1996)(GTI - Schatztruhe)(DE)[!].iso
/
Adventurer's
/
ImpPro
/
Developer
/
GTModule.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-11-14
|
3KB
|
107 lines
/**************************************************************************
* *
* ????? Module --- A module for Imp Professional *
* *
**************************************************************************/
#include "Module.h"
struct EasyStruct errEasyStruct = // The error requester
{
sizeof(struct EasyStruct), 0, "Module ERROR",
NULL, "Give up!"
};
char PubName[] = IMP_SCREEN_NAME;
struct Library *ImpBase = NULL;
VOID Open_All()
{
IntuitionBase = (struct IntuitionBase *)OpenLibrary( "intuition.library", 37L );
if(!IntuitionBase)
Close_All("Could not open Intuition v37+");
GadToolsBase = OpenLibrary( "gadtools.library", 37L );
if(!GadToolsBase)
Close_All("Could not open GadTools library v37+");
if (!(AslBase = OpenLibrary("asl.library", 37L)))
Close_All("Could not open ASL library v37+");
ImpBase = OpenLibrary( "imppro.library", 1L );
if (!ImpBase)
Close_All("Could not open ImpPro library v1+");
PubScreenName = PubName;
if (SetupScreen()) // SetupScreen returns a NULL if successful
// SetupScreen should attempt to lock "IMP.SCREEN"
{
PubScreenName = NULL; // Can't find IMP.SCREEN, so try Default public screen
if (SetupScreen())
Close_All("Could not lock IMP.SCREEN or Default public screen");
}
}
VOID Close_All(char *errmsg)
{
struct EasyStruct errEZ;
if (errmsg)
{
errEZ = errEasyStruct; // Display error message passed in
errEZ.es_TextFormat = errmsg;
EasyRequest(NULL, &errEZ, NULL);
}
CloseWindow(); // CloseWindow should close your window
CloseDownScreen(); // CloseDownScreen should unlock the public screen
if (IntuitionBase) CloseLibrary ((struct Library *)
IntuitionBase );
if (GadToolsBase ) CloseLibrary ( GadToolsBase );
if (AslBase ) CloseLibrary ( AslBase );
if (ImpBase ) CloseLibrary ( ImpBase );
exit(0L);
}
VOID main(VOID)
{
Open_All(); // Setup everything
OpenWindow(); // Openwindow should open the window and set up the gadgets
FOREVER
{
Wait(1L << Wnd->UserPort->mp_SigBit); // Wait for message from Intuition
// fill in Wnd with your window
HandleHorseIDCMP(); // Handle IDCMP for Window
}
}
// This is just a shell of a program, but you should get the gist of it. Here's the routine
// for locking and unlocking a public screen:
int SetupScreen( void )
{
if ( ! ( Scr = LockPubScreen( PubScreenName )))
return( 1L );
if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
return( 2L );
return( 0L );
}
void CloseDownScreen( void )
{
if ( VisualInfo ) {
FreeVisualInfo( VisualInfo );
VisualInfo = NULL;
}
if ( Scr ) {
UnlockPubScreen( NULL, Scr );
Scr = NULL;
}
}